100 days DevOps: Task- 25

thor@jumphost ~$ ssh natasha@ststor01
The authenticity of host ‘ststor01 (172.16.238.15)’ can’t be established.
ED25519 key fingerprint is SHA256:NYFkygg/YWnwzV1nBDp08ONw9/GsYIhQ9OLxJtih8JQ.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added ‘ststor01’ (ED25519) to the list of known hosts.
natasha@ststor01’s password:
[natasha@ststor01 ~]$ cd /usr/src/kodekloudrepos/media
[natasha@ststor01 media]$ pwd
/usr/src/kodekloudrepos/media
[natasha@ststor01 media]$ git rev-parse --show-toplevel
fatal: detected dubious ownership in repository at ‘/usr/src/kodekloudrepos/media’
To add an exception for this directory, call:

    git config --global --add safe.directory /usr/src/kodekloudrepos/media

[natasha@ststor01 media]$ git config --global --add safe.directory /usr/src/kodekloudrepos/media
[natasha@ststor01 media]$ git config --global --add safe.directory /opt/media.git
[natasha@ststor01 media]$ git rev-parse --show-toplevel
/usr/src/kodekloudrepos/media
[natasha@ststor01 media]$ git remote -v
origin /opt/media.git (fetch)
origin /opt/media.git (push)
[natasha@ststor01 media]$ git status
On branch master
Your branch is up to date with ‘origin/master’.

nothing to commit, working tree clean
[natasha@ststor01 media]$ git checkout master
fatal: Unable to create ‘/usr/src/kodekloudrepos/media/.git/index.lock’: Permission denied
[natasha@ststor01 media]$ chown -R natasha:natasha /usr/src/kodekloudrepos/media
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/welcome.txt’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/info.txt’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/info/exclude’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/info’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/info’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/b6/4a1083b308353c1dd6aba2100f40eac0958204’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/b6’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/25/5b540a74ad9cf7fcdd885edb227a395e42a281’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/25’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/8a/aacf5d7bf0f5feb117c4206e4613cb7740ff5c’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/8a’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/pack’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/78/27cbd6731e61d5542dea0d666ab5c3920d505e’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects/78’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/objects’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/index’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/refs/heads/master’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/refs/heads’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/refs/remotes/origin/master’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/refs/remotes/origin’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/refs/remotes’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/refs/tags’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/refs’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/HEAD’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/COMMIT_EDITMSG’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/config’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/pre-push.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/pre-merge-commit.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/applypatch-msg.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/pre-receive.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/post-update.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/push-to-checkout.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/prepare-commit-msg.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/pre-commit.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/sendemail-validate.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/pre-applypatch.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/pre-rebase.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/fsmonitor-watchman.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/update.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks/commit-msg.sample’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/hooks’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/branches’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/description’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/logs/refs/heads/master’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/logs/refs/heads’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/logs/refs/remotes/origin/master’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/logs/refs/remotes/origin’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/logs/refs/remotes’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/logs/refs’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/logs/HEAD’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git/logs’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media/.git’: Operation not permitted
chown: changing ownership of ‘/usr/src/kodekloudrepos/media’: Operation not permitted
[natasha@ststor01 media]$ sudo su -

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for natasha:
[root@ststor01 ~]# chown -R natasha:natasha /usr/src/kodekloudrepos/media
[root@ststor01 ~]# exit
logout
[natasha@ststor01 media]$ rm -f /usr/src/kodekloudrepos/media/.git/index.lock
[natasha@ststor01 media]$ ls -ld /usr/src/kodekloudrepos/media
drwxr-xr-x 3 natasha natasha 4096 Feb 16 13:59 /usr/src/kodekloudrepos/media
[natasha@ststor01 media]$ git status
On branch master
Your branch is up to date with ‘origin/master’.

nothing to commit, working tree clean
[natasha@ststor01 media]$ git checkout master
Already on ‘master’
Your branch is up to date with ‘origin/master’.
[natasha@ststor01 media]$ git pull origin master
From /opt/media

  • branch master → FETCH_HEAD
    Already up to date.
    [natasha@ststor01 media]$ git branch -f nautilus master
    [natasha@ststor01 media]$ git checkout nautilus
    Switched to branch ‘nautilus’
    [natasha@ststor01 media]$ ls -la .git/refs/heads/
    total 16
    drwxr-xr-x 2 natasha natasha 4096 Feb 16 14:07 .
    drwxr-xr-x 5 natasha natasha 4096 Feb 16 13:59 …
    -rw-r–r-- 1 natasha natasha 41 Feb 16 13:59 master
    -rw-r–r-- 1 natasha natasha 41 Feb 16 14:07 nautilus
    [natasha@ststor01 media]$ cp /tmp/index.html .
    [natasha@ststor01 media]$ git add index.html
    [natasha@ststor01 media]$ git config --global user.name “natasha”
    [natasha@ststor01 media]$ git config --global user.email “natasha@ststor01”
    [natasha@ststor01 media]$ git commit -m “Add index.html”
    [nautilus bcd4ae6] Add index.html
    1 file changed, 1 insertion(+)
    create mode 100644 index.html
    [natasha@ststor01 media]$ git push -u origin nautilus
    Enumerating objects: 4, done.
    Counting objects: 100% (4/4), done.
    Delta compression using up to 16 threads
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 328 bytes | 328.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
    error: remote unpack failed: unable to create temporary object directory
    To /opt/media.git
    ! [remote rejected] nautilus → nautilus (unpacker error)
    error: failed to push some refs to ‘/opt/media.git’
    [natasha@ststor01 media]$ sudo su -
    [sudo] password for natasha:
    Last login: Mon Feb 16 14:05:12 UTC 2026 on pts/0
    [root@ststor01 ~]# chown -R natasha:natasha /opt/media.git
    [root@ststor01 ~]# exit
    logout
    [natasha@ststor01 media]$ git push -u origin nautilus
    Enumerating objects: 4, done.
    Counting objects: 100% (4/4), done.
    Delta compression using up to 16 threads
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 328 bytes | 328.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
    To /opt/media.git
  • [new branch] nautilus → nautilus
    branch ‘nautilus’ set up to track ‘origin/nautilus’.
    [natasha@ststor01 media]$ git checkout master
    Switched to branch ‘master’
    Your branch is up to date with ‘origin/master’.
    [natasha@ststor01 media]$ git merge nautilus
    Updating b64a108…bcd4ae6
    Fast-forward
    index.html | 1 +
    1 file changed, 1 insertion(+)
    create mode 100644 index.html
    [natasha@ststor01 media]$ git push origin master
    Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
    To /opt/media.git
    b64a108…bcd4ae6 master → master
    [natasha@ststor01 media]$ git branch
  • master
    nautilus
    [natasha@ststor01 media]$ git ls-remote --heads origin
    bcd4ae657dd7534f0e5de6b6b5452482aa31c170 refs/heads/master
    bcd4ae657dd7534f0e5de6b6b5452482aa31c170 refs/heads/nautilus
    [natasha@ststor01 media]$ pwd
    /usr/src/kodekloudrepos/media
    [natasha@ststor01 media]$ git ls-remote --heads origin
    bcd4ae657dd7534f0e5de6b6b5452482aa31c170 refs/heads/master
    bcd4ae657dd7534f0e5de6b6b5452482aa31c170 refs/heads/nautilus
    [natasha@ststor01 media]$ git fetch -all
    error: did you mean --all (with two dashes)?
    [natasha@ststor01 media]$ git fetch --all
    [natasha@ststor01 media]$ git ls-remote --heads origin
    bcd4ae657dd7534f0e5de6b6b5452482aa31c170 refs/heads/master
    bcd4ae657dd7534f0e5de6b6b5452482aa31c170 refs/heads/nautilus
    [natasha@ststor01 media]$

Above you can see the commands I executed to resolve the issue, but every time it is giving same error as below. I think my approach is fine but still getting this error.

  • new git branch ‘nautilus’ is not created under ‘/usr/src/kodekloudrepos/media/’ repo on Storage server

You need to operate on the repo by becoming the root user.

cd /usr/src/kodekloudrepos/<repo> 
git checkout -b <new_branch>
cp /tmp/index.html ./
git add .
git commit -m "adding index.html"
git push origin <new_branch>
git checkout master
git merge <new_branch>
git push origin master
1 Like