Ik probeer sources.list te bewerken met de vi-editor, maar ik krijg de volgende foutmelding bij het opslaan van het bestand:
/etc/apt/sources.list" E212: Can't open file for writing
Antwoord 1, autoriteit 100%
For some reason the file you are writing to cannot be created or overwritten.
The reason could be that you do not have permission to write in the directory
or the file name is not valid.
Vim heeft een ingebouwd helpsysteem. Ik heb zojuist geciteerd wat er staat op :h E212
.
Misschien wil je het bestand als superuser bewerken als sudo vim FILE
. Of als je je bestaande vim-sessie niet wilt verlaten (en nu de juiste sudo-rechten hebt), kun je het volgende doen:
:w !sudo tee % > /dev/null
Hiermee wordt het bestand opgeslagen.
HTH
Antwoord 2, autoriteit 9%
Dat overkomt mij altijd, ik open een rootbestand om te schrijven:
In plaats van al je wijzigingen te verliezen en opnieuw te openen met sudo. Bekijk deze demo over hoe u deze wijzigingen opslaat:
Eenmalige Setup-demo om een alleen-lezen bestand van root te maken voor een lagere gebruiker:
sudo touch temp.txt
sudo chown root:root temp.txt
sudo chmod 775 temp.txt
whoami
el
Open eerst het bestand als normale gebruiker:
vi temp.txt
Breng enkele wijzigingen aan in het bestand, het waarschuwt u dat het alleen-lezen is. Gebruik deze opdracht.
:w !chmod 777 %
Schrijf vervolgens het bestand:
:wq!
De machtigingen worden uitgebreid en het bestand wordt opgeslagen. Je hebt het uitroepteken nodig omdat je een rootbestand aan het bewerken bent als een mindere gebruiker.
Uitleg van wat dat commando doet:
De :w betekent schrijf het bestand. De knal betekent beginnen met interpreteren als shell. chmod betekent machtigingen wijzigen, 777 betekent overal volledige machtigingen. Het percentage betekent de huidige bestandsnaam.
Het past de wijziging toe. En hij vraagt of je opnieuw wilt laden. Druk op “O” voor “Ok”. Laad niet opnieuw of u raakt uw wijzigingen kwijt.
Antwoord 3, autoriteit 6%
Voor mij was er een vrij eenvoudige oplossing. Ik probeerde een bestand te bewerken/makenin een map die niet bestond. Omdat ik me al in de map bevond waarin ik probeerde een bestand te bewerken/aan te maken.
d.w.z. pwd folder/file
en was aan het typen
sudo vim folder/file
en het was duidelijk dat het naar de map in de map zocht en niet kon opslaan.
Antwoord 4, autoriteit 3%
Of misschien zit je op een alleen-lezen gemounte fs
Antwoord 5, autoriteit 2%
Ik verwees naar Zsolt in niveau 2, ik voer in:
:w !sudo tee % > /dev/null
en in mijn situatie kan ik het bestand nog steeds niet wijzigen, dus werd gevraagd om “!” toe te voegen. dus ik voer
. in
:q!
dan werkt het
Antwoord 6
voor mij werkte het veranderen van het bestandssysteem van alleen-lezen voordat vim werd uitgevoerd:
bash-3.2# mount -o remount rw /
Antwoord 7
omdat de map niet bestaat.
kan :!mkdir -p /etc/apt/
gebruiken om de directory te maken.
vervolgens :wq
Antwoord 8
gebruiker wijzigen in root
sodu su -
bladeren naar etc
vi sudoers
zoek naar rootgebruiker in de sectie gebruikersprivileges. je krijgt het als
root ALL=(ALL:ALL) ALL
maak dezelfde invoer voor uw gebruikersnaam. als je gebruikersnaam ‘mijngebruiker’ is, voeg dan
. toe
myuser ALL=(ALL:ALL) ALL
het ziet eruit als
root ALL=(ALL:ALL) ALL
myuser ALL=(ALL:ALL) ALL
Bewaar het. Wijzig rootgebruiker naar uw gebruiker. Probeer nu hetzelfde waar je de sudoers-probleem kreeg
9
Probeer als root aan te sluiten en het bestand te bewerken. Dit werkt voor mij
10
Voeg uw opdrachten vooraf toe met sudo
.
Bijvoorbeeld, in plaats van vim textfile.txt
, Gebruikt sudo vim textfile.txt
. Dit zal het probleem oplossen.
11
Ik kreeg deze fout toen ik git rm
in een bestand in een map gebruikte.
Ik was in iets als ~ / gitrepo / code / newfeature
In Newfeature was er maar één bestand. Ik heb een git rm
in dat bestand gedaan geprobeerd om een nieuw bestand MyNewFile te maken met VI.
Ubuntu liet me zien als nog steeds in de newfeature-directory maar eigenlijk git rm
had de hele directory verwijderd.
Ik moest de VI verlaten, navigeer de ene map en recreëerde vervolgens de map Newfeature.
12
Ik kreeg deze foutmelding wanneer mijn directorypad onjuist is, zorg ervoor dat uw mapnamen en -pad correct zijn
13
Wijzig de toestemming voor de andere gebruiker
voor dat type
SETFACL -M U: Gebruikersnaam: RW FileName
Antwoord 14
Je hoeft alleen maar toegang te krijgen tot Gemfile met root-toegang. Voor vi
:
opdracht:
sudo su -
dan:
vi ~/...