freenas(freebsd)에서 패키지를 업그레이드하는 방법

freenas(freebsd)에서 패키지를 업그레이드하는 방법

새 서버에 freenas 서버를 설치했고 서버를 직접 호스팅하려고 합니다. 그런 다음 3*5TB 하드 드라이브에 볼륨(ZFS)을 만들었습니다. 마지막으로 SSH를 통해 루트로 로그인하고 pkg upgrade모든 패키지를 시험해 보았습니다. 이것은 작동하지 않습니다:

[root@kfreenas] ~# pkg update
Updating local repository catalogue...
pkg: file:///usr/ports/packages/meta.txz: No such file or directory
repository local has no meta file, using default settings
pkg: file:///usr/ports/packages/packagesite.txz: No such file or directory
Unable to update repository local


[root@kfreenas] ~# pkg upgrade
Updating local repository catalogue...
pkg: file:///usr/ports/packages/meta.txz: No such file or directory
repository local has no meta file, using default settings
pkg: file:///usr/ports/packages/packagesite.txz: No such file or directory
Unable to update repository local
All repositories are up-to-date.
Checking for upgrades (0 candidates): 100%
Processing candidates (0 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date

어디서 먼저 해야 한다는 글을 읽었습니다 pkg2ng. 결과적으로 다음과 같은 많은 줄이 생성됩니다.

...
pkg: fstat() failed for(/usr/local/include/X11/Xalloca.h): No such file or directory
pkg: fstat() failed for(/usr/local/include/X11/Xarch.h): No such file or directory
pkg: fstat() failed for(/usr/local/include/X11/Xatom.h): No such file or directory
pkg: fstat() failed for(/usr/local/include/X11/Xdefs.h): No such file or directory
...

지금: pkg -vv:

[root@kfreenas] ~# pkg -vv
Version                 : 1.7.2
PKG_DBDIR = "/var/db/pkg";
PKG_CACHEDIR = "/var/cache/pkg";
PORTSDIR = "/usr/ports";
INDEXDIR = "";
INDEXFILE = "INDEX-10";
HANDLE_RC_SCRIPTS = false;
DEFAULT_ALWAYS_YES = false;
ASSUME_ALWAYS_YES = false;
REPOS_DIR [
    "/etc/pkg/",
    "/usr/local/etc/pkg/repos/",
]
PLIST_KEYWORDS_DIR = "";
SYSLOG = true;
ABI = "FreeBSD:10:amd64";
ALTABI = "freebsd:10:x86:64";
DEVELOPER_MODE = false;
VULNXML_SITE = "http://vuxml.freebsd.org/freebsd/vuln.xml.bz2";
FETCH_RETRY = 3;
PKG_PLUGINS_DIR = "/usr/local/lib/pkg/";
PKG_ENABLE_PLUGINS = true;
PLUGINS [
]
DEBUG_SCRIPTS = false;
PLUGINS_CONF_DIR = "/usr/local/etc/pkg/";
PERMISSIVE = false;
REPO_AUTOUPDATE = true;
NAMESERVER = "";
HTTP_USER_AGENT = "pkg/1.7.2";
EVENT_PIPE = "";
FETCH_TIMEOUT = 30;
UNSET_TIMESTAMP = false;
SSH_RESTRICT_DIR = "";
PKG_ENV {
}
PKG_SSH_ARGS = "";
DEBUG_LEVEL = 0;
ALIAS {
    all-depends = "query %dn-%dv";
    annotations = "info -A";
    build-depends = "info -qd";
    cinfo = "info -Cx";
    comment = "query -i \"%c\"";
    csearch = "search -Cx";
    desc = "query -i \"%e\"";
    download = "fetch";
    iinfo = "info -ix";
    isearch = "search -ix";
    prime-list = "query -e '%a = 0' '%n'";
    leaf = "query -e '%#r == 0' '%n-%v'";
    list = "info -ql";
    noauto = "query -e '%a == 0' '%n-%v'";
    options = "query -i \"%n - %Ok: %Ov\"";
    origin = "info -qo";
    provided-depends = "info -qb";
    raw = "info -R";
    required-depends = "info -qr";
    roptions = "rquery -i \"%n - %Ok: %Ov\"";
    shared-depends = "info -qB";
    show = "info -f -k";
    size = "info -sq";
}
CUDF_SOLVER = "";
SAT_SOLVER = "";
RUN_SCRIPTS = true;
CASE_SENSITIVE_MATCH = false;
LOCK_WAIT = 1;
LOCK_RETRIES = 5;
SQLITE_PROFILE = false;
WORKERS_COUNT = 0;
READ_LOCK = false;
PLIST_ACCEPT_DIRECTORIES = false;
IP_VERSION = 0;
AUTOMERGE = true;
VERSION_SOURCE = "";
CONSERVATIVE_UPGRADE = true;
PKG_CREATE_VERBOSE = false;
AUTOCLEAN = false;
DOT_FILE = "";
REPOSITORIES {
}
VALID_URL_SCHEME [
    "pkg+http",
    "pkg+https",
    "https",
    "http",
    "file",
    "ssh",
    "ftp",
    "ftps",
    "pkg+ssh",
    "pkg+ftp",
    "pkg+ftps",
]
ALLOW_BASE_SHLIBS = false;
WARN_SIZE_LIMIT = 1048576;


Repositories:
  local: { 
    url             : "file:///usr/ports/packages",
    enabled         : yes,
    priority        : 0
  }

답변1

실제로 기본 FreeNAS 호스트에서 셸을 사용하면 안 되므로 pkg저장소가 비활성화됩니다.

컴퓨터에 쉘을 설치하려면 쉘 생성을 고려해야 합니다.감옥(예: 경량 가상 머신) 셸 액세스에 사용합니다.

만약 너라면진짜자신이 만든 모든 혼란을 정리할 수 있다고 확신하는 FreeNAS 호스트에서 사용 하려면 pkg확인해 보세요 /usr/local/etc/pkg/repos/FreeBSD.conf. 하지만 개인적으로 저는 Jail을 사용하겠습니다.

또한, 그것은종종 나쁜 습관으로 간주됩니다.시스템에서 루트 SSH를 활성화합니다.

관련 정보