Таким образом, я чиню. Много. И это означает, что я склонен должным быть переустанавливать свою ОС, потому что я делаю что-то сумасшедшее и повреждаю его. Я не возражаю против этого, лужение является забавой. Но сделать мою жизнь легче, я работаю над сценарием удара для автовосстанавливания всего с единственной командой.
Вчера вечером я использовал его впервые (Четыре дня сумасшедшего материала и бум! Повредил все), и это был спаситель. Но существует несколько областей, что это могло использовать улучшение.
Основной, с которым я ищу справку прямо сейчас, получает приложения, которые не находятся в Кв. - получают инструмент. Я собираюсь использовать Медиасервер Plex в качестве примера. Я должен загрузить это непосредственно с веб-сайта.
Я не домой прямо сейчас, таким образом, у меня нет своего сценария передо мной, но я в настоящее время делаю, он этот путь (дразните URL в моем примере кода).
wget http://plex-website/downloads-page/plex-install-file-name-and-version.deb
dpkg plex-install-file-name-and-version.deb
Используя wget для загрузки файла и dpkg для установки его. Работы как очарование.
Это - хрупкий подход, тем не менее, потому что он зависит от определенного номера версии файла, который я загружаю. Со временем тот определенный номер версии изменится, таким образом, этот сценарий станет устаревшим.
Я ищу динамический способ записать это так, чтобы я мог загрузить файл с веб-сайта, не нуждаясь к hardcode в номере версии заранее. Идеально, что-то, что я могу использовать на нескольких сайтах, потому что Plex не является единственным, с которым я столкнусь с этой проблемой.
Заранее спасибо.
Я очистил бы страницу загрузки website’s для получения URL для желаемого пакета.
Пример: загрузите 32-разрядную версию Медиасервера Plex:
url=$(curl -s https://plex.tv/downloads | grep Ubuntu32 | cut -d\" -f2)
wget "$url"
dpkg -i "${url##*/}"
Для других пакетов, необходимо было бы исследовать источник HTML страницы, содержащей ссылки на загрузку. В вышеупомянутом примере я видел, что фраза Ubuntu32
только появилась однажды в источнике HTML. К счастью это находится в та же строка как URL для желаемого пакета: этот URL является первой строкой текста, включенного в двойные кавычки и эти cut
, команда обеспечивает простой способ извлечь эту строку из остальной части строки.
Другие приложения могут иметь более сложные страницы загрузки, которые могут потребовать более сложных сценариев с помощью sed
, awk
или возможно более полнофункциональный язык, такой как Perl, Python или Ruby.
Я не знаю, какой файл Вы получаете и от где, но обычно существует ярлык на последнее / стабильная версия, например, http://plex-website/downloads-page/plex-install-file-name-LATEST.deb
Вы могли использовать это, и это также даст Вам то же имя файла для загруженного файла, который Вы могли использовать в команде dpkg.
, Кроме того, wget мог использоваться с подстановочными знаками, получающими все возможные версии, и с некоторым волшебством удара Вы могли изобразить самый высокий из них.
, например, wget -r -l1 -np "http://plex-website/downloads-page/" -A "plex-install-file-name-4.*.deb"