Oppgradere Debian og derivater med en enkelt kommando [Skript]

Vel, du skjønte at jeg bestemte meg for å gjøre dette fordi jeg måtte bruke viskelæret som jeg hadde i brettet mitt rådnende, så jeg deler et skript som ikke er en stor avtale, bare har 2 linjer og vil be om root-passordet eller sudoers.

SCRIPT: oppdatering

#! / bin / bash sudo aptitude oppdatering sudo aptitude fulloppgradering

Og voila, de kommer ikke til å bli overveldet av så mange linjer med komplisert programmering (sarkasme).

Når vi har lagret det, gir det utførelsestillatelser, vi går inn i filleseren vår som root, kopierer og limer inn skriptet slik at de har noe som dette:

Nå lukker vi, åpner en terminal og skriver 'oppdatering' (tydeligvis uten tilbud)

Som du vil se i det følgende bildet, er lagringene oppdatert:

Vi skriver Y for å godta det som vil bli installert og / eller oppdatert, og forhåpentligvis lastes ned og installeres oppdateringene og terminalen ser slik ut:

Og nå har du oppdatert systemet ditt med en enkelt kommando.


45 kommentarer, legg igjen dine

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   og Xe sa

    Hvor er manuset?

    1.    debianitten merlin sa

      Den ligger etter de første 3 linjene i innlegget.

      1.    og Xe sa

        Vel, jeg forstår virkelig ikke dette innlegget.

  2.   Hugo sa

    Det er fremdeles nysgjerrig på meg at noen brukere foretrekker å komplisere med skript og tillatelser når de kan løse problemet med et enkelt alias. Faktisk er dette innlegget veldig likt et som nettopp er publisert på "forenkling av kommandoer", og som jeg for øvrig legger en kommentar med et alias som er enda mer fullstendig enn det som ble publisert i selve dette innlegget. . Uansett, å ønske å bidra til samfunnet er edelt, men når innleggene er så like, ser det ikke ut til å hjelpe.

    1.    Atheyus sa

      Da jeg var debianitt, "kompliserte jeg" meg med dette:

      http://paste.desdelinux.net/4680

      Aliasene er for rør og and ~ ~ ~, men det er det som GNU / Linux får meg til å like de mange måtene å gjøre ting på, du må bare ta hensyn til tillatelsene til filene.

  3.   verbellon sa

    Jeg forstår at ikke alle av oss er flinke til å administrere et operativsystem (enten windows, GNU / Linux osv.), Men i det minste må du lære litt om dem (den du bruker).
    Som Hugo sa, "Oppdater Debian og derivater med en enkelt kommando [Script]" og "Forenkle kommandoer", i det minste for meg, gir ikke mening, hvis dette løses ved å redigere .bashrc og legge til:

    alias update = 'sudo aptitude -y update && sudo aptitude -y safe-upgrade'

    Jubel…..

    PS: Du må overvelde deg selv med kode når du virkelig trenger det.

    1.    debianitten merlin sa

      Jeg innrømmer at du har rett, men i det minste er det like enkelt å gjøre skriptet eller kalle det.

      1.    MSX sa

        Det er her forskjellen mellom den som gjør ting riktig og den som gjør galt spiller inn.
        Hvis du akkurat har begynt og fortsatt ikke kjente ALIAS-kommandoen, velkommen til GNU / Linux og nyt ditt (skitne) hack.

        I ditt tilfelle er det annerledes: du viser deg å være helt uvitende og uaktsom ved å misbruke standardene for bruk av et GNU / Linux-system. I ditt tilfelle jo lenger borte fra konsollen, jo bedre.

    2.    debianitten merlin sa

      Prøv:
      fordi "alias update = 'sudo aptitude -y update && sudo aptitude -y safe-upgrade'"
      Det fungerte ikke for meg, og i teorien skulle det fungere.

      Og hvis du fjerner skriptet med samme navn og til og med prøver et annet alias.

      1.    Hugo sa

        Hvis sammenkobling av to kommandoer på en linje ikke fungerer, er det fordi noe er ødelagt på systemet ditt, fordi betinget kjøring er standard bash-funksjonalitet.

        Kan det være at du på PCen din kombinerer pakker fra forskjellige versjoner av Debian og / eller derivater? Hvis jeg var deg, ville jeg installere bash eller til og med hele systemet på nytt bare på grunn av det symptomet du beskriver, siden jeg ikke lenger kunne stole på at systemet vil oppføre seg på en stabil måte.

        1.    debianitten merlin sa

          sannheten er at jeg har et par repos av launchpad og linuxmint, men jeg tror ikke det er så alvorlig at jeg installerer hele systemet på nytt.

          1.    Hugo sa

            Det rydder litt opp. Det er klart at vi har forskjellige kriterier for viktigheten av et systems stabilitet. 😉

            Tross alt er det systemet ditt; du har all rett til å bruke det slik, selv om du ærlig talt blander Debian med Ubuntu og Linux Mint repos ... vel, for en ekte Debianite som er som helligpris. Dessuten er det mange Debianitter som rynker pannen med å bruke apt-pinning.

            Etter min mening, for å ha den forrådets promiskuitet, vil du være bedre å bruke noe med Debian Cut, Sid, noe avledet av Sid, eller kanskje noe annet som Ubuntu, Fedora, Arch, LFS, etc.

  4.   Christopher sa

    Det kan være mye lettere å sette alt på en linje

    sudo aptitude update && sudo aptitude dist-upgrade

    1.    debianitten merlin sa

      sannheten er en engangsprosess, og nå må jeg bare skrive "oppdatering" for å gjøre det, og ikke hver linje du bare legger.

  5.   Alf sa

    Pues hay algo que no entiendo, ya que Desde linux er:
    Oss

    Hva er <° Linux?
    <° Linux (aka DesdeLinux) er et nettsted dedikert til emner relatert til fri programvare og teknologi. Vårt mål er ingen ringere enn å gi alle de brukerne som starter i GNU/Linux-verdenen, et sted hvor de kan tilegne seg ny kunnskap på enklest mulig måte.

    Våre interesser:
    Del og tilegne deg kunnskap med hvem som helst.
    Debatt om ethvert emne, så lenge det er relatert til GNU / Linux, programvare og gratis teknologier.
    Lag et fellesareal for hjelp og støtte.
    Dann et fellesskap av brukere som du kan dele erfaringer med.

    Så hvorfor hopper kritikken hver gang noen deler noe?

    1.    Hugo sa

      Det er sannsynligvis fordi de fleste Linux-brukere liker effektive løsninger, og hvis de ser noe som etter deres mening kan forbedres, sier de det. Så langt og fra det jeg kjenner skaperne av denne bloggen, prøver de å respektere kriteriene til alle brukere; Med andre ord, noen har like mye rett til å publisere en artikkel som andre brukere til å kommentere den.

      La oss se, kritikk er ikke nødvendigvis en dårlig ting, siden det kan berike artikler mye, hvis de gjøres på en konstruktiv måte. Åpenbart er destruktiv kritikk (det vil si de som mangler argumenter, falsk eller støtende) skadelig, men så langt husker jeg ikke at jeg så mange slike kritikker her.

      1.    MSX sa

        Jeg tror det som kan plage oss mest, er den totale ignorering av riktig bruk av systemet av forfatteren av innlegget, og også skryter av hans handling:

        "Jeg innrømmer at du har rett, men i det minste er det like enkelt å lage skriptet eller kalle det."

        Hvis du vet at du gjør noe galt når du har muligheten til å gjøre det bra, uten ekstra kostnad - det er mer, med ekstra fordeler - men du insisterer på å gjøre det galt, er det at:
        1. Du er en opprørsk liten gutt uten grunn.
        2. du er en idiot.

        Det er ikke mange flere problemer, jeg legger bare inn skrevne ord hva enhver bruker mener som prøver å lære de beste GNU / Linux-praksisene og bruke det på den mest effektive måten.

        For å skape "stygge hacks" må du først demonstrere kompetanse hvis ikke du bare er skitten.

        1.    debianitten merlin sa

          hmm kanskje det er nummer 2 fordi jeg ikke skjønte poenget.

          XD

        2.    debianitten merlin sa

          Du kan ikke alias 2-kommandoer, det nærmeste var det jeg allerede hadde i aliaset mitt, som ville være oppdatering && oppgradering for å gjøre det oppdateringsskriptet gjør. Jeg ser ikke hvor problemet er ennå. Eller er jeg for lat til å skrive oppdatering og oppgradering.

          forresten aliasene mine som jeg allerede hadde før jeg gjorde artikkelen.

          alias rm = 'rm -i'
          alias cp = 'cp -i'
          alias mv = 'mv -i'
          alias upgrade = 'aptitude full-upgrade'
          alias update = 'aptitude update'
          alias install = 'aptitude install'
          alias remove = 'aptitude remove'
          alias clean = 'aptitude clean'

        3.    MSX sa

          Dette er aliasene mine for Ubuntu Server 12.04 LTS-hjemmeserveren:

          $ cat ~ / .bash_aliases
          ...

          #############################################
          # Ubuntu / Debian-spesifikke aliaser
          # ———————————-

          alias UpdateSystem = 'sudo aptitude update && sudo aptitude safe-upgrade && sudo aptitude full-upgrade'
          alias Fjern = 'sudo aptitude purge'
          alias SearchLocal = 'dpkg -l | grep -i'
          alias Search = 'aptitude search'
          alias Install = 'sudo aptitude install'
          alias Show = 'aptitude show'
          alias Clean = 'bleachbit && gksudo bleachbit && sudo apt-get autoremove && sudo apt-get autoclean && sudo deborphan | xargs sudo apt-get -y remove –purge && sudo aptitude clean && sudo aptitude autoclean && sudo deborphan | xargs sudo apt-get -y remove –purge '
          alias 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 autoremove && 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.    debianitten merlin sa

            Hvis jeg legger mer enn 2 kommandoer, fungerer de ikke for meg :(, eller vil de fungere i Ubuntu? (Det kan ikke være den samme filen som er endret, ikke sant?).

          2.    MSX sa

            Akkurat som vi alle er hatere, spesielt systemadministratorer og programmerere, bruker vi, misbruker og misbruker aliaser og hacks for å måtte trykke på så få taster som mulig; idealet til enhver administrator eller koder er å komme til poenget med å ha et alias med en bokstav som oppdaterer systemet og renser huset (kokk, jeg lager mat).
            Seriøst er poenget her å automatisere overflødige oppgaver på den mest effektive, praktiske og komfortable måten.

            Min alias-policy er som følger:
            1 siden jeg har * mange * aliaser som jeg deler i de samme ~ / .bash_aliasene på tvers av forskjellige systemer, starter jeg nesten alltid aliasene mine med en stor bokstav, noe som også forhindrer meg i å til slutt _stappe_ på en eller annen systemkommando.
            2. For mengden aliaser jeg bruker, bør et godt alias ikke få meg til å trykke på mer enn 4 taster, 5 med nøkkelen som regel den fjerde tasten TAB-tasten.
            På denne måten er det nok for meg å skrive de to eller tre første bokstavene i aliaset -> TAB -> ENTER.
            3. Å ha veldefinerte aliaser kan du strukturere komplekse kommandoer eller automatisere komplekse oppgaver.
            $ Up [TAB] && Cleanc [TAB]
            det er
            # UpdateSystem && Cleancli
            Oppdater og rengjør systemet. Som jeg alltid har en forekomst av tmux som kjører, kobler jeg ut terminalen, kobler fra ssh-økten og lar serveren fungere alene.

            Til slutt, husk at aliaskommandoer ikke kan nestes, det vil si at du ikke kan bruke et alias i et annet alias.
            På et eller annet tidspunkt hadde jeg definert et UpdateFull-alias som ville oppdatere systemet og deretter aktivere rengjøringsmidlene, men jeg sluttet å bruke det fordi oppdatering og rengjøring av systemene ikke er en triviell oppgave - selv om utviklere gjør livene våre mye lettere - og jeg foretrekker å ha mer kontroll greit om disse handlingene.

          3.    Hugo sa

            Estan muy interesantes algunos de esos alias, jeje. Mira este que acabo de preparar jugueteando con las expresiones regulares, para solucionar un problemita de páginas webs guardadas desde Linux a una flash, que luego no pueden abrirse desde Windows por tener caracteres extraños:

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

            For øvrig, tilgi meg for å kommentere fra Windows, jeg slettet Linux-partisjonen min for å gi plass til noen spill 😉

          4.    Hugo sa

            Unnskyld meg, men i utgangspunktet svarte jeg på msx (som ikke var veldig tydelig på grunn av grensen for nivåer av kommentarer), og for det andre, tilsynelatende spiste bloggen en del av aliaset mitt (det ser ut til at du ikke liker dem mye regex), så jeg la det i limen: http://paste.desdelinux.net/4685

      2.    MSX sa

        Utmerket alias @ Hugo!
        Jeg ble forelsket i vanlige uttrykk da jeg oppdaget Perl (sammen er de uslåelige!), Synd at de er så kryptiske at 20 minutter etter at jeg opprettet dem og bekreftet at de fungerer, glemte jeg hva de gjorde, og jeg må begynne å løse dem ut trinn for trinn! xD

        Der kopierer jeg ER som du limte inn for å teste den, hvis du har mer nyttig, velkommen til et innlegg med dem alle 😉

    2.    verbellon sa

      Kanskje dette skriptet eller hva de gjorde i / bin-katalogen virker riktig for deg (sjekk emnet Forenkling av kommandoer).

      Det er en konstruktiv kritikk, som fremhever denne feilen, slik at fremtidige GNU / Linux-brukere ikke snubler over slik dumhet (uten referanse til noen person).

      For dette tilfellet er det riktige å redigere .bashrc og introdusere linjene du synes er praktiske.

      Jubel…..

      1.    MSX sa

        ~ / .Bash_aliases

        1.    Hugo sa

          Tilsynelatende gir ikke alle distribusjoner denne filen (noe som ikke har sluttet å fange oppmerksomheten min). I et slikt tilfelle kan det lett løses ved å sette noe slikt i .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.    Hugo sa

            Beklager, det er HISTSIZE. Forresten, histsize er å definere antall kommandoer som skal holdes i historien, og HISTCONTROL = ignoreboth er slik at gjentatte kommandoer og de som starter med et mellomrom ikke blir lagret i historien. Jeg har funnet begge å være veldig nyttige, sammen med HISTIGNORE, et alternativ som jeg også legger i mine .bash_aliases

        2.    verbellon sa

          Vel, hvis jeg tar Debian som et eksempel, vil du se at det bare er .bashrc, men hvis du er nysgjerrig og leser linjene, vil du se et avsnitt:
          (a) # noen flere aliaser, og
          (b) # Aliasdefinisjoner. Det kan være lurt å legge alle tilleggene dine til en egen fil som ~ / .bash_aliases, i stedet for å legge dem til her direkte. Se / usr / share / doc / bash-doc / eksempler i bash-doc-pakken.

          hvis [-f ~ / .bash_aliases]; deretter
          . ~ / .bash_aliases
          fi

          Og selvfølgelig for dette, $ vim ~ / .bash_aliases (fordi du må lage det). Skriv inn, alias XX = 'XXXXXX', lagre og avslutt filen.

          Nå med ArchLinux viser det seg at .bashrc er praktisk talt tom. Og hvis .bashrc oppfyller den funksjonen (aliaset), ser jeg ikke behovet for å opprette .bash_aliasene. Men du må få den bestilt.

          Jubel…..

          1.    verbellon sa

            PS: Ta hensyn til at aliasene mine ikke er så spesielle i en oppgave.

            Hilsen MSX, Hugo.

          2.    MSX sa

            Hei @Berbellon,
            Personlig vil jeg at Archs ~ / .bashrc skal komme mer robust, det vil si med forskjellige innstillinger av miljøvariabler som vi bruker daglig, fordi uansett hvor mye man kontinuerlig lærer om GNU / Linux og prøver å belyse de mørkeste hjørnene det alltid er noen skilpadder som unnslipper oss (det ja, det kommer med mange eksempler på systemvariabler, men alt er absolutt kommentert).
            Nå er Archs nesten strippede ~ / .bashrc forståelig siden distro er ment for utviklere, forskere, sysadminer og alle som ønsker å konfigurere det på sin egen måte, til deres smak og personlig bruk ved å lære om systemet og lese om hvordan du konfigurer det - ikke forgjeves Arch er -hvis jeg ikke tar feil- sammen med Slack en av de reneste GNU / Linux-distribusjonene ved at hver pakke som er en del av systemet blir berørt så lite som mulig, for eksempel apache-webserveren kalt httpd (ekte navn på applikasjonen) og installeres i / etc / httpd i motsetning til Debian som kaller det apache og installerer det i / etc / apache2 med en litt ... personlig filkonfigurasjon.

            «Og hvis .bashrc oppfyller den funksjonen (aliaset), ser jeg ikke behovet for å opprette .bash_aliasene. Men du må holde det organisert. "
            Egentlig ~ / .bashrc oppfyller ikke den funksjonen siden Arch Linux søker å oppmuntre til god praksis i bruken av systemet, så det anbefales uttrykkelig å bruke ~ / .bash_aliases for å lagre aliaser.
            Imidlertid er dette skillet for definisjonen av aliaser - ~ / .bashrc vs ~ / .bash_aliases- rent administrativt og tilveiebringes slik at systemadministratoren kan organisere systemet sitt på en modulær og ren måte siden ~ filen kan brukes godt. /.bashrc for å definere alle aliasene vi bruker.

      2.    debianitten merlin sa

        Det er sant, men noen ganger har du noen kommandoer i aliaset, og noen ganger må du gjøre dem hver for seg og andre ganger sammen, og som de allerede fortalte meg ovenfor, kan du ikke alias en kommando du allerede har, selv om den er nestet i en annen, og forresten har jeg ikke ødelagt system, og jeg har bare en jdownloader launchpad og linuxmint debian-utgaven en, jeg fjernet den fordi den virket reduktiv for meg.

  6.   patz sa

    er seriøst? og dette er et skript som oppdaterer systemet og starter på nytt i ett trinn
    #! / Bin / bash
    sudo aptitude update
    sudo aptitude full oppgradering
    sudo reboot

    normalt er det som gjøres kontinuerlig de som fortjener å bli skriptet, en full oppgradering er ikke konstant, langt mindre i debian….

    1.    debianitten merlin sa

      Jeg pleier å gjøre det ofte. : s

      1.    MSX sa

        Du bør prøve Semplice (fantastisk stabil og vakker Debian Sid med Openbox + tint2), aptosid / Sidduction (Debian Sid nesten stabil og veldig oppblåst), Arch (beste RR distro noensinne), Gentoo / Sabayon eller annen RR distro.
        Hvis du bruker debian, vil jeg prøve Semplice, det er mer moderne enn Crunchbang (Debian Stable) og fungerer utmerket.

        1.    debianitten merlin sa

          Jeg skal se hvordan og hvis det overbeviser meg, kan jeg installere det på den nye bærbare datamaskinen.

          1.    MSX sa

            Og et nytt innlegg? 😉

      2.    patz sa

        Hvor ofte vises en ny versjon av debian?

        1.    debianitten merlin sa

          Annethvert år ca. Hvis du bruker stabil i testing, kan det sies at det er Rolling Release, det vil si at det oppdateres på internett nesten daglig, og du trenger ikke å installere systemet på nytt.

  7.   debianitten merlin sa

    Hmm er sannsynlig. Jeg antar at det ikke er så ille å late som en idiot en gang til.

    XD

    1.    MSX sa

      Uhh, fortsett, hvor er det mesterskinnet !!! xD
      La det skli deg, kjerring!

  8.   scraf23 sa

    Som sysadmin skript jeg bare for repeterende og vanskelige oppgaver, dette virker ikke som tilfelle xD

  9.   mikrosone sa

    Vel, kall meg rar, men det er bra å bruke aliaser for kommandoer du bruker, men for noe som gjøres en gang i året? (Jeg bruker ubuntu lts jeg mener mer) gir ikke mening.

    I tillegg til å bruke aliaset, i tillegg til å endre andres maskin, kan jeg se at det trekker i -h 🙂

    1.    mikrosone sa

      Jeg glemte å si det, men jeg tenker det samme om manuset