使用單個命令升級Debian和衍生產品[腳本]

好吧,您知道了,我決定這樣做是因為我必須使用托盤腐爛中的橡皮擦,所以我共享一個腳本沒什麼大不了的,它只有兩行,並且會要求輸入root密碼或sudoers。

腳本:更新

#!/ bin / bash sudo aptitude更新sudo aptitude全面升級

瞧,不要被那麼多行複雜的編程(Sarcasm)所淹沒。

保存它後,它便賦予它執行權限,我們以root用戶身份進入文件瀏覽器,複製並粘貼腳本,以便它們具有以下內容:

現在我們關閉,打開一個終端並輸入“ update”(顯然沒有引號)

如下圖所示,存儲庫已更新:

我們寫 Y 接受將要安裝和/或更新的內容,並希望下載並安裝更新,並且終端如下所示:

現在,您已經用一個命令更新了系統。

 

 


本文內容遵循我們的原則 編輯倫理。 要報告錯誤,請單擊 這裡.

45條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   可執行程序 他說:

    腳本在哪裡?

    1.    褐鐵礦梅林 他說:

      它位於帖子的前3行之後。

      1.    可執行程序 他說:

        好吧,我真的不明白這篇文章。

  2.   雨果 他說:

    令我感到好奇的是,某些用戶可以使用簡單的別名解決問題時更喜歡使用腳本和權限。 實際上,這篇文章與剛剛在“簡化命令”上發表的文章非常相似,順便說一下,為此,我發表了一個帶有別名的評論,其別名甚至比這篇文章本身發表的更加完整。 。 無論如何,想為社區做貢獻是高尚的,但是當帖子如此相似時,似乎並沒有幫助。

    1.    雅典娜 他說:

      當我是Debianite時,我對此感到“複雜”:

      http://paste.desdelinux.net/4680

      別名是管道和ands〜_〜的別名,但這就是GNU / Linux像許多處理方式一樣,您只需要考慮文件的權限即可。

  3.   貝貝龍 他說:

    我了解並非所有人都擅長管理操作系統(Windows,GNU / Linux等),但是至少,您必須了解一些有關它們的知識(您所使用的操作系統)。
    正如Hugo所說,“至少使用一個命令[Script]和“簡化命令”來更新Debian及其衍生版本”對我來說是沒有意義的,如果這可以通過編輯.bashrc並添加以下內容來解決:

    別名更新='sudo aptitude -y更新&& sudo aptitude -y安全升級'

    乾杯…..

    PS:當您真正需要它時,您必須讓代碼不知所措。

    1.    褐鐵礦梅林 他說:

      我承認您是對的,但至少對我來說,編寫腳本或為腳本添加別名一樣簡單。

      1.    MSX 他說:

        這就是正確做事與錯誤做事之間的區別所在。
        如果您剛剛起步,但仍然不知道ALIAS命令,歡迎使用GNU / Linux並享受您(骯髒的)黑客的攻擊。

        對於您而言,情況就不同了:您錯誤地使用了GNU / Linux系統的使用標準,就證明自己是完全無知和疏忽的。 在您的情況下,離控制台越遠越好。

    2.    褐鐵礦梅林 他說:

      試試:
      因為“別名更新='sudo aptitude -y更新&& sudo aptitude -y安全升級'”
      它對我不起作用,並且理論上應該起作用。

      並且如果您刪除具有相同名稱的腳本,甚至嘗試使用另一個別名。

      1.    雨果 他說:

        如果在一行中連接兩個命令不起作用,那是因為系統中某些東西已損壞,因為條件執行是標準的bash功能。

        難道是您的PC上正在組合來自不同版本的Debian和/或衍生產品的軟件包? 如果您是我,則僅會因為您描述的症狀而重新安裝bash甚至整個系統,因為我不再相信系統會以穩定的方式運行。

        1.    褐鐵礦梅林 他說:

          事實是,我確實有幾個啟動板和linuxmint倉庫,但我認為它不至於嚴重到無法重新安裝整個系統。

          1.    雨果 他說:

            這樣可以使事情變得清晰起來。 顯然,對於系統穩定性的重要性,我們有不同的標準。 😉

            畢竟,這是您的系統; 儘管坦率地將Debian與Ubuntu和Linux Mint存儲庫混合使用,但是您完全有權使用它……那麼,對於真正的Debianite就像是犧牲品。 更重要的是,許多Debianite甚至不喜歡使用apt-pinning。

            我認為,要使存儲庫更容易使用,最好將其與Debian Cut,Sid,Sid的某些派生工具一起使用,或者使用Ubuntu,Fedora,Arch,LFS等其他工具。

  4.   克里斯托弗 他說:

    將所有內容放在一行上會容易得多

    sudo aptitude update && sudo aptitude dist-upgrade

    1.    褐鐵礦梅林 他說:

      事實是一個一次性的過程,現在我只需要鍵入“ update”就可以了,而不是您輸入的每一行。

  5.   阿爾夫 他說:

    嗯,有些事情我不理解,因為從linux來說是:
    我們

    什麼是Linux?
    <°Linux(aka DesdeLinux)是一個專門討論與軟件和自由技術有關的主題的網站。 我們的目標無非是為GNU / Linux領域的所有新用戶提供一個可以以最簡單的方式獲得新知識的地方。

    我們的興趣:
    與任何人共享和獲取知識。
    關於任何主題的辯論,只要與GNU / Linux,軟件和自由技術有關。
    為幫助和支持創建社區空間。
    建立與之分享經驗的用戶社區。

    那麼,為什麼每次有人分享某些東西時,批評都會跳起來嗎?

    1.    雨果 他說:

      可能是因為大多數Linux用戶喜歡高效的解決方案,如果他們認為可以改進的地方就可以這樣做。 到目前為止,據我所知,此博客的創建者一直在努力遵守所有用戶的標準; 換句話說,某人具有與其他用戶一樣發表文章的評論權。

      讓我們看看,批評不一定是一件壞事,因為如果以建設性的方式進行,它可以使文章充實很多。 顯然,破壞性的批評(即缺乏論據,虛假或令人反感的批評)是有害的,但到目前為止,我不記得在這裡看到過許多此類批評。

      1.    MSX 他說:

        我認為最讓我們困擾的是,該帖子的作者完全無視該系統的正確使用,並且還吹噓他的行為:

        “我承認你是對的,但至少對我而言,編寫腳本或對其進行別名化同樣容易。”

        如果您知道自己有做錯事的可能,那麼就可以免費而無額外費用-這是更多的事,還有額外的好處-但您堅持做錯事,那就是:
        你是一個無緣無故的叛逆小男孩。
        2.你是個白痴。

        沒有更多的問題了,我只是用書面形式寫下任何試圖學習最佳GNU / Linux實踐並以最有效的方式使用它的用戶的想法。

        要創建“醜陋的駭客”,必須先證明自己的能力,然後再變髒。

        1.    褐鐵礦梅林 他說:

          嗯,也許是第二,因為我沒聽清楚。

          XD

        2.    褐鐵礦梅林 他說:

          您不能為2個命令加上別名,最接近的是我別名中已有的命令,這將是update && upgrade以執行更新腳本的工作。 我還沒有看到問題所在。 還是我懶得寫更新和升級。

          順便說一句,我在寫文章之前已經有了別名。

          別名rm ='rm -i'
          別名cp ='cp -i'
          別名mv ='mv -i'
          別名升級='智能全面升級'
          別名更新='智能更新'
          別名安裝='智能安裝'
          別名刪除='智能刪除'
          別名清理='智能清理'

        3.    MSX 他說:

          這些是我對Ubuntu Server 12.04 LTS家用服務器的別名:

          $ cat〜/ .bash_aliases
          ...

          ###############################
          #Ubuntu / Debian特定別名
          #——————————-

          alias UpdateSystem ='sudo aptitude更新&& sudo aptitude安全升級&& sudo aptitude完整升級'
          別名Remove ='sudo aptitude purge'
          別名SearchLocal ='dpkg -l | grep -i'
          別名搜索='智能搜索'
          別名Install ='sudo aptitude install'
          別名秀='能力秀'
          alias Clean ='bleachbit && gksudo bleachbit && sudo apt-get autoremove && sudo apt-get autoclean && sudo deborphan | xargs sudo apt-get -y remove –清除&& sudo aptitude clean && sudo aptitude autoclean && sudo deborphan | xargs sudo apt-get -y remove –purge'
          別名Cleancli ='bleachbit -d deepscan.tmp system.desktop_entry system.localizations system.rotated_logs system.tmp && sudo bleachbit -d deepscan.tmp system.desktop_entry system.localizations system.rotated_logs system.tmp && sudo apt-get自動刪除&& sudo apt-get autoclean和&sudo deborphan | xargs sudo apt-get -yr \
          emove –purge && sudo aptitude clean && sudo aptitude autoclean && sudo deborphan | xargs sudo apt-get -y remove –purge'

          1.    褐鐵礦梅林 他說:

            如果我輸入了兩個以上的命令,它們對我不起作用:(,或者它們將在Ubuntu中工作嗎?(不能是被修改的同一文件,對嗎?)。

          2.    MSX 他說:

            正如我們所有人,特別是系統管理員和程序員一樣,我們使用,濫用和重複使用別名和黑客行為,因此必須盡可能少地按下按鍵。 每個管理員或編碼人員的理想選擇是使用一個字母的別名來更新系統並打掃房子(廚師,我做飯)。
            認真地說,這裡的重點是以最有效,最實用和最舒適的方式自動執行冗餘任務。

            我的別名策略如下:
            1,因為我在多個系統中以相同的〜/ .bash_aliases共享*多個*別名,所以我幾乎總是以大寫字母開頭別名,這也最終使我無法在某些系統命令上_stepping_。
            2.對於我使用的別名數量,好的別名不應使我按下4個以上的按鍵,其中5個通常是TAB鍵的第4個鍵。
            這樣,我就足以寫出別名-> TAB-> ENTER的前兩個或三個字母。
            3.具有明確定義的別名,您可以構造複雜的命令或自動執行複雜的任務。
            $ Up [TAB] && Cleanc [TAB]
            骨頭
            #UpdateSystem && Cleancli
            更新並清潔系統。 由於我一直在運行tmux的實例,因此我將斷開碼頭的連接,斷開ssh會話,並讓服務器自行工作。

            最後,請記住,別名命令不能嵌套,也就是說,您不能在另一個別名中使用別名。
            在某個時候,我定義了一個UpdateFull別名,該別名將更新系統,然後激活清理器,但我停止使用它,因為更新和清理系統並不是一件容易的事-即使開發人員使我們的生活變得更加輕鬆-我更喜歡對這些操作可以更好地控制。

          3.    雨果 他說:

            這些別名中的一些非常有趣,呵呵。 看一下我剛剛準備使用正則表達式玩的那個程序,以解決從Linux保存到Flash的網頁的一個小問題,該網頁後來由於它們具有奇怪的字符而無法從Windows打開:

            alias fixnames='sudo find . -depth -regextype posix-extended -regex '\''.*(\s+|:+|\\+|>+|+|<+|"+|\*+|\?+|\|+)/_/g'\'' "{}" \;'

            順便說一句,原諒我從Windows發表評論,我刪除了Linux分區,以便為一些遊戲騰出空間😉

          4.    雨果 他說:

            好吧,對不起,但是首先,我對msx進行了響應(由於註釋嵌套級別的限制,該響應不是很清楚),其次,顯然,博客吃了我別名的一部分(似乎您不喜歡它們)正則表達式),因此我將其粘貼: http://paste.desdelinux.net/4685

      2.    MSX 他說:

        優秀的別名@Hugo!
        當我發現Perl時(它們無與倫比!),我愛上了正則表達式,可惜它們太神秘了,以至於我在創建它們並驗證它們正常工作20分鐘後,就忘記了它們所做的一切,不得不開始對其進行分解一步步! xD

        我在這裡複製了您粘貼以測試它的ER,如果您有更多有用的信息,歡迎與他們一起分享

    2.    貝貝龍 他說:

      也許此腳本或它們在/ bin目錄中執行的操作對您來說似乎正確(請查看主題簡化命令)。

      這是一種建設性的批評,突出了此錯誤,因此,將來的GNU / Linux用戶不要偶然發現這種愚蠢(不參考任何人)。

      對於這種情況,正確的做法是編輯.bashrc並引入您認為方便的行。

      乾杯…..

      1.    MSX 他說:

        〜/ .bash_aliases

        1.    雨果 他說:

          顯然,並非所有發行版都提供此文件(沒有停止引起我注意的東西)。 在這種情況下,可以通過在.bashrc中放入類似的內容來輕鬆解決該問題

          if [ ! -f ~/.bash_aliases ] ; then
          {
          echo "HISTIZE=5000"
          echo "HISTCONTROL=ignoreboth"
          } > ~/.bash_aliases
          fi
          if [ -f ~/.bash_aliases ] ; then
          source ~/.bash_aliases
          fi

          1.    雨果 他說:

            抱歉,這是HISTSIZE。 順便說一句,histsize定義了要保留在歷史記錄中的命令數量,而HISTCONTROL = ignoreboth則是這樣,以便重複的命令和以空格開頭的命令不會保存在歷史記錄中。 我發現這兩者與HISTIGNORE一起使用都非常有用,我也將其放入.bash_aliases中

        2.    貝貝龍 他說:

          好吧,如果我以Debian為例,您將看到只有.bashrc,但是如果您有點好奇並閱讀了以下幾行,則會看到一個部分:
          (a)#更多的ls別名,和
          (b)#別名定義。 您可能希望將所有添加項放入一個單獨的文件中,例如〜/ .bash_aliases,而不是直接在此處添加它們。 請參閱bash-doc軟件包中的/ usr / share / doc / bash-doc / examples。

          如果[-f〜/ .bash_aliases]; 然後
          。 〜/ .bash_aliases
          fi

          當然,為此,$ vim〜/ .bash_aliases(因為必須創建它)。 輸入別名XX ='XXXXXX',保存並退出文件。

          現在使用ArchLinux,事實證明您的.bashrc實際上是空的。 而且,如果.bashrc實現了該功能(別名之一),我認為無需創建.bash_aliases。 但是您必須對其進行排序。

          乾杯…..

          1.    貝貝龍 他說:

            PS:考慮到我的別名在任務中不是很特殊。

            問候MSX,雨果。

          2.    MSX 他說:

            嗨@Berbellon,
            就我個人而言,我希望Arch的〜/ .bashrc變得更加健壯,也就是說,我們每天都會使用幾種環境變量設置,因為無論有多少人不斷學習GNU / Linux並試圖闡明最黑暗的角落總是有一些烏龜逃離我們(如果那有很多系統變量的例子,但都絕對註釋過)。
            現在,Arch幾乎被剝離的〜/ .bashrc是可以理解的,因為該發行版面向開發人員,科學家,系統管理員以及任何想要以自己的方式進行配置的人,可以通過學習系統和閱讀有關如何使用的方式來按自己的喜好和個人使用進行配置。配置它-不是徒勞的Arch是-如果我沒記錯的話-與Slack一起是最純粹的GNU / Linux發行版之一,因為盡可能少地觸摸了系統的每個軟件包,例如Apache Web服務器稱為httpd(應用程序的真實名稱)並安裝在/ etc / httpd中,而Debian則稱其為apache並以某種……個人文件配置將其安裝在/ etc / apache2中。

            «如果.bashrc實現了該功能(別名之一),我認為無需創建.bash_aliases。 但是你必須保持組織有序。”
            實際上,〜/ .bashrc不能實現該功能,因為Arch Linux試圖鼓勵使用該系統的良好做法,因此明確建議使用〜/ .bash_aliases來保存別名。
            但是,別名的定義-〜/ .bashrc與〜/ .bash_aliases-完全是管理上的,因為系統可以很好地使用〜文件,所以提供該名稱是為了使系統管理員可以模塊化,整潔的方式組織其係統。 /.bashrc定義我們使用的所有別名。

      2.    褐鐵礦梅林 他說:

        是的,但是有時您的別名中包含一些命令,有時您需要將它們分開單獨執行,而有時又需要一起執行,正如它們在上面已經告訴我的那樣,即使嵌套在另一個命令中,您也無法為它加上別名。順便說一句,我沒有損壞的系統,我只有一個jdownloader啟動板和linuxmint debian版本,我刪除了它,因為它似乎對我來說有些簡化。

  6.   帕茲 他說:

    是認真的嗎? 這是一個腳本,它可以一步更新系統並重新引導
    #!/斌/慶典
    sudo的性向更新
    sudo aptitude全面升級
    sudo重啟

    通常,經常要做的事情是應該編寫的腳本,完全升級不是一直存在的,在debian中更是如此。

    1.    褐鐵礦梅林 他說:

      我通常會經常這樣做。 :p

      1.    MSX 他說:

        您應該嘗試Semplice(具有Openbox + tint2的出色穩定且漂亮的Debian Sid),aptosid / Sidduction(Debian Sid幾乎穩定且非常腫),Arch(有史以來最佳RR發行版),Gentoo / Sabayon或任何其他RR發行版。
        如果您使用debian,我會嘗試Semplice,它比Crunchbang(Debian Stable)更現代,並且效果很好。

        1.    褐鐵礦梅林 他說:

          我將了解如何以及是否可以說服我,將其安裝到新筆記本電腦上。

          1.    MSX 他說:

            還有新帖子? 😉

      2.    帕茲 他說:

        新版本的debian多久出現一次?

        1.    褐鐵礦梅林 他說:

          大約每2年如果您在測試中使用穩定版,則可以說它是滾動發行版,也就是說,它幾乎每天都會在Internet上更新,而您無需再次重新安裝系統。

  7.   褐鐵礦梅林 他說:

    嗯可能。 我想第二次假裝自己是個白痴還不錯。

    XD

    1.    MSX 他說:

      嗯,繼續前進,那冠軍皮革在哪裡! xD
      老婦,順其自然吧!

  8.   斯卡夫23 他說:

    作為系統管理員,我只為重複性和艱鉅的任務編寫腳本,這似乎與xD不太一樣

  9.   微區 他說:

    好吧,叫我很奇怪,但是對經常使用的命令使用別名很好,但是對於每年執行一次的事情呢? (我使用ubuntu lts的意思是更多)沒有任何意義。

    除了使用別名和更改其他人的機器外,我還可以看到它拉了-h🙂

    1.    微區 他說:

      我忘了說了,但我對劇本也這麼認為