Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   [решено] Не работают стандартные команды FreeBSD (http://forum.oszone.net/showthread.php?t=206128)

VictorSh 04-05-2011 01:13 1669870

Не работают стандартные команды FreeBSD
 
пишу в Putty команду добавить пользователя и получаю в ответ что нет такой команды, для многих других тоже самое :( Раньше все работало.

Код:

[root@server /usr/home/XXXXXX]# adduser
su: adduser: command not found

началось после конфига кодировок, но не сразу, не помню, что поменял :(

пробовал делать как написано http://www.cyberciti.biz/faq/linux-u...get-rid-of-it/ но запоминается на один сеанс.
Я новичок просьба сильно не пинать

Telepuzik 04-05-2011 10:38 1670006

VictorSh,
Вывод команды cat /root/.cshrc | grep path покажите.

VictorSh 04-05-2011 15:08 1670134

Код:

$ su
Password:
[root@server /usr/home/XXXXXX]# cat /root/.cshrc | grep path

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

[root@server /usr/home/XXXXXX]# adduser
su: adduser: command not found


Kent 04-05-2011 15:25 1670149

Попробуйте
Код:

$ su -

Telepuzik 04-05-2011 15:47 1670162

Вывод echo $path еще покажите.

VictorSh 04-05-2011 23:31 1670390

Цитата:

Цитата Kent
Попробуйте
Код:
$ su - »

:) работает! но раньше работало с просто su

Цитата:

Цитата Telepuzik
Вывод echo $path еще покажите. »

Код:

[root@server /usr/home/XXXXXX]# echo $PATH
/usr/bin:/bin

$path - пустая переменная

Telepuzik 05-05-2011 09:20 1670520

Цитата:

Цитата VictorSh
$path - пустая переменная »

Странно, у меня она не пустая.
Цитата:

Цитата VictorSh
[root@server /usr/home/XXXXXX]# echo $PATH
/usr/bin:/bin »

Видно где то переопределяется переменная PATH, покажите вывод set | grep shell

VictorSh 05-05-2011 14:12 1670673

Код:

$ su
Password:
[root@server /usr/home/XXXXXX]# adduser
su: adduser: command not found
[root@server /usr/home/XXXXXX]# echo $PATH
/usr/bin:/bin
[root@server /usr/home/XXXXXX]# echo $path
[root@server /usr/home/XXXXXX]#
[root@server /usr/home/XXXXXX]# set | grep shell
[root@server /usr/home/XXXXXX]#

то есть ничего не выводит

Telepuzik 05-05-2011 14:41 1670686

Цитата:

Цитата VictorSh
то есть ничего не выводит »

А если до ввода su ввести команду set | grep SHELL ?

VictorSh 05-05-2011 15:05 1670698

Цитата:

Цитата Telepuzik
А если до ввода su ввести команду set | grep SHELL ? »

тогда выводит это:

Код:

$ set | grep SHELL
SHELL=/bin/sh

да, у меня FreeBSD 6.2 может это как-то поможет.

Telepuzik 05-05-2011 15:33 1670713

Цитата:

Цитата VictorSh
да, у меня FreeBSD 6.2 может это как-то поможет. »

Тогда смотрите в папке пользователя (не root-a) файл .profile в нем переменная PATH.

VictorSh 05-05-2011 16:46 1670762

Цитата:

Цитата Telepuzik
Тогда смотрите в папке пользователя (не root-a) файл .profile в нем переменная PATH. »

Моя папка пользователя пустая, я ее сам создал. А пользователя мне создали без папки.
Нужно создать файл .profile и определить переменную PATH? Когда я создавал юзеров, тогда они создавались с домашними папками и там был этот файл.

Telepuzik 06-05-2011 09:25 1671108

Цитата:

Цитата VictorSh
Нужно создать файл .profile и определить переменную PATH? »

Да попробуйте создать этот файл (или скопируйте у какого нибудь пользователя) и там отредактируйте переменную PATH.

bomba 06-05-2011 23:59 1671607

locate adduser

есть ли программа вообще в системе? =)
если нету ставьте сорцы с диска соберайте мир и оттуда вытаскивайте программу adduser >_<

VictorSh 07-05-2011 17:21 1671954

программа есть я ей пользовался до того как создал себе личную папку. Раньше, когда у меня не было своей папки при наборе команды su я оказывался в корневом каталоге файловой системы, где лежат файлы профилей для рута, теперь я оказываюсь в своей домашней папке, а она пуста)) в этом и проблема))

Kent 07-05-2011 18:27 1672001

Да нет никакой проблемы. Просто надо почитать 'man su'.

VictorSh 07-05-2011 19:51 1672049

Цитата:

Цитата Kent
Просто надо почитать 'man su'. »

насчет мануала я согласен. Но я же сказал, что я новичок - а новичку за один день не освоить FreeBSD. Вообще заметил, что лучше, если есть вопросы искать информацию не в гугле и по форумам, а сразу в официальном мануале, там есть ответы на многие вопросы. Но читать его надо последовательно от первой главы до последней, а не из середины, а на это нужно время.

Kent 07-05-2011 21:49 1672118

Цитата:

Цитата VictorSh
Но читать его надо последовательно от первой главы до последней, а не из середины, а на это нужно время. »

Там три экрана всего. :)
Ну а вас должна заинтересовать глава ENVIRONMENT.

Telepuzik 10-05-2011 12:05 1673608

Цитата:

Цитата VictorSh
Раньше, когда у меня не было своей папки при наборе команды su я оказывался в корневом каталоге файловой системы, где лежат файлы профилей для рута, теперь я оказываюсь в своей домашней папке, а она пуста)) в этом и проблема)) »

Смотрите вывод команды cat /etc/passwd | grep root шестой параметр у Вас указан /root ??

VictorSh 11-05-2011 18:59 1674490

Цитата:

Цитата Telepuzik
Смотрите вывод команды cat /etc/passwd | grep root шестой параметр у Вас указан /root ?? »

Код:

$ cat /etc/passwd | grep root
root:*:0:0:Charlie &:/root:/usr/local/bin/bash
toor:*:0:0:Bourne-again Superuser:/root:
daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin

ура!!! создал в своей домашней папке файл .profile и поместил туда две строки:

Код:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin:/home/XXXXXX/bi
n
export PATH

после этого заработали все команды. Видимо, когда у меня не было папки, то при вводе команды su использовались файл .profile из папки /root, а потом, когда я создал свою папку, так как она была пустая, то использовались какие-то значения по умолчанию.

Всем большое спасибо за помощь!!!

P.S. Установил еще новую команду dmidecode. Раньше тоже работало, а теперь даже, когда захожишь туда где она лежит /usr/local/sbin и набираешь dmidecode, то пишет, что каманда не найдена, честно говоря меня это удивило. То есть интерпретатор игнорирует тот факт, что я нахожусь уже в этой папке. Когда добавил этот путь в переменную PATH, то все заработало :) Но все же непонятно, почему он ищет команды ТОЛЬКО в переменой PATH, а текущую папку игнорит, я же туда даже зашел, осталось запустить его ручками, а не получается.

vadblm 11-05-2011 20:30 1674547

Цитата:

Цитата VictorSh
Но все же непонятно, почему он ищет команды ТОЛЬКО в переменой PATH, а текущую папку игнорит, я же туда даже зашел, осталось запустить его ручками, а не получается. »

Потому что юниксовые шеллы и command.com, поведения подобного которому вы хотите, несколько отличаются. ;) Запускать исполняемый файл в текущей директории следует так:
Код:

./dmidecode
То есть, буквально указать, что вы хотите запустить именно этот файл, лежащий в текущей директории (обозначается ".").
Можно также запускать, указав полный путь (/usr/local/sbin/dmidecode), в этом случае переходить в конкретную директорию нет необходимости.

VictorSh 11-05-2011 22:08 1674595

vadblm, спасибо большое, буду знать! :)


Время: 10:51.

Время: 10:51.
© OSzone.net 2001-