টিএল; ডিআর: আপনি পড়তে / লিখতে পারেন কিনা তা পরীক্ষা করে দেখুন /dev/tty
। যদি না এবং আপনি su
শেলটি খোলার জন্য ব্যবহার করেছেন , আপনি এটি সঠিকভাবে ব্যবহার করেছেন কিনা তা পরীক্ষা করে দেখুন।
আমি একই সমস্যার মুখোমুখি হয়েছি তবে লিনাক্সে এবং আমি বিষয়টি খুঁজে পেয়েছি। আমার শংসাপত্রগুলি সংরক্ষণ করা নেই তাই আমি সর্বদা প্রম্পটে এগুলি ইনপুট করে রাখি:
Username for 'https://github.com': foo
Password for 'https://foo@github.com':
গিটটি কীভাবে http (গুলি) সংযোগগুলি ব্যবহার করে তা /usr/lib/git-core/git-remote-https
আপনি এখানে স্ট্রেস দেখতে পারেন:
stat("/usr/lib/git-core/git-remote-https", {st_mode=S_IFREG|0755, st_size=1366784, ...}) = 0
pipe([9, 10]) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [], 8) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f65398bb350) = 18177
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(10) = 0
read(9, "", 8) = 0
close(9) = 0
close(5) = 0
close(8) = 0
dup(7) = 5
fcntl(5, F_GETFL) = 0 (flags O_RDONLY)
write(6, "capabilities\n", 13) = 13
fstat(5, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
read(5, "fetch\noption\npush\ncheck-connecti"..., 4096) = 38
write(6, "option progress true\n", 21) = 21
read(5, "ok\n", 4096) = 3
write(6, "option verbosity 1\n", 19) = 19
read(5, "ok\n", 4096) = 3
stat(".git/packed-refs", {st_mode=S_IFREG|0664, st_size=675, ...}) = 0
lstat(".git/objects/10/52401742a2e9a3e8bf068b115c3818180bf19e", {st_mode=S_IFREG|0444, st_size=179, ...}) = 0
lstat(".git/objects/4e/35fa16cf8f2676600f56e9ba78cf730adc706e", {st_mode=S_IFREG|0444, st_size=178, ...}) = 0
dup(7) = 8
fcntl(8, F_GETFL) = 0 (flags O_RDONLY)
close(8) = 0
write(6, "list for-push\n", 14) = 14
read(5, fatal: could not read Username for 'https://github.com': No such device or address
"", 4096) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=18177, si_uid=1000, si_status=128, si_utime=6, si_stime=2} ---
exit_group(128) = ?
+++ exited with 128 +++
তাই আমি এটিকে সরাসরি কল করার চেষ্টা করেছি:
echo "list for-push" | strace /usr/lib/git-core/git-remote-https my
এবং ফলাফল:
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 1 ([{fd=3, revents=POLLIN|POLLRDNORM}])
recvfrom(3, "\27\3\3\1\32", 5, 0, NULL, NULL) = 5
recvfrom(3, "\307|4Q\21\306\334\244o\237-\230\255\336\25\215D\257\227\274\r\330\314U\5\17\217T\274\262M\223"..., 282, 0, NULL, NULL) = 282
openat(AT_FDCWD, "/dev/tty", O_RDONLY) = -1 ENXIO (No such device or address)
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=2995, ...}) = 0
read(4, "# Locale name alias data base.\n#"..., 4096) = 2995
read(4, "", 4096) = 0
close(4) = 0
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "fatal: could not read Username f"..., 83fatal: could not read Username for 'https://github.com': No such device or address
) = 83
exit_group(128) = ?
+++ exited with 128 +++
এবং এটি আমার কাছে এলো:
openat(AT_FDCWD, "/dev/tty", O_RDONLY) = -1 ENXIO (No such device or address)
...
write(2, "fatal: could not read Username f"..., 83fatal: could not read Username for 'https://github.com': No such device or address
) = 83
git-remote-https
এর মাধ্যমে শংসাপত্রগুলি পড়ার চেষ্টা /dev/tty
করি তাই এটি যদি কাজ করে তবে আমি পরীক্ষা করেছিলাম:
$ echo ahoj > /dev/tty
bash: /dev/tty: No such device or address
তবে অন্য টার্মিনালে:
# echo ahoj > /dev/tty
ahoj
আমি জানতাম যে আমি এই ব্যবহারকারীর কাছে চলে এসেছি su
তাই আমি কমান্ডটি কীভাবে ব্যবহার করেছি এবং কীভাবে জানতে পেরেছিলাম তা শেল থেকে বেরিয়ে এসেছি su danman -
যাতে আমি আবার এটি পরীক্ষা করে দেখেছি:
~# su danman -
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
/root$ echo ahoj > /dev/tty
bash: /dev/tty: No such device or address
আমি সম্ভবত বার্তাটিকে অগ্রাহ্য করেছি এবং কাজ চালিয়ে যেতে পারি তবে এটিই কারণ ছিল। আমি যখন সঠিকভাবে su - danman
সবকিছু ঠিকঠাক ব্যবহার করে স্যুইচ করেছি :
~# su - danman
danman@speedy:~$ echo ahoj > /dev/tty
ahoj
এর পরে, গিটটি সঠিকভাবে কাজ শুরু করে
git config --global user.name "Your Name Here"