Как сделать закачанный файл в github chmod = + x? а затем загрузить файл с помощью команды wget, сохранив набор исполняемых файлов в режиме github? - PullRequest
1 голос
/ 18 июня 2020

моя ОС - Ubuntu 20.04

Я просмотрел этот пост Как добавить разрешения chmod к файлу в GIT?

У меня есть этот файл https://github.com/PRATAP-KUMAR/focalgdm3/blob/master/focalgdm3

Я ищу

chmod +x, так что как только я загружу файл по этой ссылке, wget https://raw.githubusercontent.com/PRATAP-KUMAR/focalgdm3/master/focalgdm3 из github он готов к выполнению в Ubuntu 20.04

Я пробовал git update-index команду, но получил ошибку ..

pratap@i7-6550U:~$ git update-index --chmod=+x focalgdm3fatal: not a git repository (or any of the parent directories): .gitpratap@i7-6550U:~$ 

ищу пошаговую процедуру ..

Ответы [ 3 ]

3 голосов
/ 22 июня 2020

Я добавил файл в github, перетащив файл со своего компьютера на страницу загрузки существующего файла github.

Затем клонируйте репозиторий и локально:

cd /path/to/local/clone
git add --chmod=+x myFile
git config --global user.name "My name"
git config --global user.email "my@email.com" (the one used for GitHub account)
git commit -m "Made myFile executable"
git push

Как объясняется в Antwane answer , wget через HTTP не будет работать. Но, как видно из « Загрузить исполняемый скрипт с GitHub с сохранением + x разрешений », вы можете:

  • получить tarball из репозитория GitHub (Git)
  • извлеките из него единственный файл: его права должны быть сохранены.

То есть:

wget -qO - https://github.com/<user>/repo>/archive/master.tar.gz | \
tar zx --strip-components=1 <repo>-master/<filename>

Замените <user> своим именем пользователя GitHub, <repo> с именем вашего репозитория

В вашем случае:

wget -qO - https://github.com/PRATAP-KUMAR/focalgdm3/archive/master.tar.gz | \
tar zx --strip-components=1 focalgdm3-master/focalgdm3
0 голосов
/ 23 июня 2020

Насколько я понимаю, вы хотите, чтобы исполняемый файл был готов к запуску сразу после его загрузки с использованием wget. Примерно так:

wget https://raw.githubusercontent.com/PRATAP-KUMAR/focalgdm3/master/focalgdm3
./focalgdm3

Это невозможно (в основном по соображениям безопасности), поскольку протокол HTTP (используемый при загрузке файла с GitHub) не имеет информации о флагах RWX вашего файла (см. https://serverfault.com/a/863523/398223)

Возможное решение - добавить команду chmod в процедуру установки

wget https://raw.githubusercontent.com/PRATAP-KUMAR/focalgdm3/master/focalgdm3
chmod +x focalgdm3
./focalgdm3

Вы также можете поместить свой focalgdm3 двоичный файл в zip или .tar.gz архив (с сохранением флага исполняемого файла) и поместите его в свой репозиторий GitHub, чтобы ваши пользователи могли загружать, извлекать и запускать программу.

0 голосов
/ 18 июня 2020

Пожалуйста, go в github.com/PRATAP-KUMAR/focalgdm3 каталог перед выполнением команды git update-index.

$ cd github.com/PRATAP-KUMAR/focalgdm3
$ git update-index --chmod=+x focalgdm3
...