Jak pobrać pakiet RPM i zainstalować go w jednym wierszu?


18

Zastanawiałem się, czy wgetmożna było pobrać RPM, a następnie przepuścić przez sudo rpm -iinstalację, w jednej linii? Zdaję sobie sprawę, że mogę po prostu biegać:

wget -c <URL>
sudo rpm -i <PACKAGE-NAME>.rpm

aby zainstalować pakiet, ale zastanawiałem się, czy można to zrobić w jednym wierszu, używając opcji quiet i zapisując na standardowe opcje wyjściowe wget. Próbowałem użyć:

wget -cqO- <URL> | sudo rpm -i

ale zwróciło:

rpm: no packages given for install

Próbowałeś sudo rpm -i <URL>?
Mikel

Próbowałeś, wget -cqO- <URL> | xargs sudo rpm -ia może sudo rpm -i $(wget -cqO- <URL>)? Jaki popełniają błąd?
Firelord,

1
@Pan ognia. Pierwsze polecenie: po prostu spróbowałem i dał pokazany tutaj błąd . Drugie polecenie: podało błąd rpm: no packages given for install.
BH2017,

Odpowiedzi:


29

RPM ma natywną obsługę pobierania pakietu z adresu URL. Możesz to zrobić:

sudo rpm -i <URL>

Nie ma potrzeby ręcznego pobierania RPM. Jeśli to wsparcie nie istniało, możesz użyć bashpodstawienia procesu.

sudo bash -c 'rpm -i <(wget -O - <URL>)'

7
Lepiej jest użyć yum install -y <URL>, ponieważ spowoduje to również zainstalowanie wszelkich zależności.
Cristi

1
Cóż, gdybym używał dystrybucji, która używa yum jako menedżera pakietów, zrobiłby to, ale pamiętaj, że pakiety RPM są również używane przez dystrybucje, które używają APT-RPM, DNF, urpmi i menedżerów pakietów ZYpp. Okazało się, że używałem openSUSE Tumbleweed, który używa ZYpp.
BH2017,

13

Lepiej to zrobić, yum install -y <URL>ponieważ to samo zajmuje się zależnościami, w przeciwieństwie do bezpośredniego rpmużycia narzędzia.


Jak powiedziałem w komentarzach do odpowiedzi jordanma, że ​​używałem openSUSE Tumbleweed, yum nie jest dostępne na Tumbleweed.
BH2017,

1

Myślę, że jednym z możliwych sposobów może być zdefiniowanie nazwy pliku, który pobierasz:

wget -cqO- <URL> -O my-output-file.rpm && sudo rpm -i my-output-file.rpm

Ale z pewnością muszą istnieć lepsze podejścia


Nie zaakceptuję tej odpowiedzi, ponieważ (jak powiedziałeś) Mam nadzieję na lepsze podejście, ale wiesz, że to dobra próba, więc dziękuję.
BH2017,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.