mirror of
https://github.com/systemd/systemd
synced 2025-10-04 19:24:44 +02:00
Compare commits
No commits in common. "3ea86aa6739717fd84b4f16e1394d15c77f65775" and "bcc73cafdbd9c3947c53e4cff3498f8a73e56d9d" have entirely different histories.
3ea86aa673
...
bcc73cafdb
33
po/ko.po
33
po/ko.po
@ -4,12 +4,12 @@
|
||||
# Seong-ho Cho <shcho@gnome.org>, 2015, 2021.
|
||||
# Dongsu Park <dongsu@endocode.com>, 2015.
|
||||
# simmon <simmon@nplob.com>, 2021.
|
||||
# 김인수 <simmon@nplob.com>, 2022, 2023, 2024, 2025.
|
||||
# 김인수 <simmon@nplob.com>, 2022, 2023, 2024.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-23 15:38+0100\n"
|
||||
"PO-Revision-Date: 2025-07-26 09:04+0000\n"
|
||||
"PO-Revision-Date: 2024-11-29 12:38+0000\n"
|
||||
"Last-Translator: 김인수 <simmon@nplob.com>\n"
|
||||
"Language-Team: Korean <https://translate.fedoraproject.org/projects/systemd/"
|
||||
"main/ko/>\n"
|
||||
@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
"X-Generator: Weblate 5.8.2\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/core/org.freedesktop.systemd1.policy.in:22
|
||||
@ -143,11 +143,13 @@ msgstr "사용자의 홈 영역을 활성화에 인증이 필요합니다."
|
||||
|
||||
#: src/home/org.freedesktop.home1.policy:93
|
||||
msgid "Manage Home Directory Signing Keys"
|
||||
msgstr "홈 디렉토리의 서명 키를 관리합니다"
|
||||
msgstr ""
|
||||
|
||||
#: src/home/org.freedesktop.home1.policy:94
|
||||
#, fuzzy
|
||||
#| msgid "Authentication is required to manage system services or other units."
|
||||
msgid "Authentication is required to manage signing keys for home directories."
|
||||
msgstr "홈 디렉토리를 위해 서명 키를 관리하려면 인증이 필요합니다."
|
||||
msgstr "시스템 서비스 또는 기타 단위를 관리하려면 인증이 필요합니다."
|
||||
|
||||
#: src/home/pam_systemd_home.c:336
|
||||
#, c-format
|
||||
@ -839,13 +841,18 @@ msgid ""
|
||||
msgstr "로컬 가상 장비 및 컨테이너를 생성하려면 인증이 필요합니다."
|
||||
|
||||
#: src/machine/org.freedesktop.machine1.policy:106
|
||||
#, fuzzy
|
||||
#| msgid "Create a local virtual machine or container"
|
||||
msgid "Register a local virtual machine or container"
|
||||
msgstr "로컬 가상 장비나 컨테이너를 등록합니다"
|
||||
msgstr "로컬 가상 장비 및 컨테이너 생성"
|
||||
|
||||
#: src/machine/org.freedesktop.machine1.policy:107
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Authentication is required to create a local virtual machine or container."
|
||||
msgid ""
|
||||
"Authentication is required to register a local virtual machine or container."
|
||||
msgstr "로컬 가상 장비나 컨테이너를 등록하려면 인증이 필요합니다."
|
||||
msgstr "로컬 가상 장비 및 컨테이너를 생성하려면 인증이 필요합니다."
|
||||
|
||||
#: src/machine/org.freedesktop.machine1.policy:116
|
||||
msgid "Manage local virtual machine and container images"
|
||||
@ -1065,11 +1072,13 @@ msgstr "질의 결과를 승락하려면 인증이 필요합니다."
|
||||
|
||||
#: src/resolve/org.freedesktop.resolve1.policy:154
|
||||
msgid "Subscribe to DNS configuration"
|
||||
msgstr "DNS 구성으로 등록하다"
|
||||
msgstr ""
|
||||
|
||||
#: src/resolve/org.freedesktop.resolve1.policy:155
|
||||
#, fuzzy
|
||||
#| msgid "Authentication is required to subscribe query results."
|
||||
msgid "Authentication is required to subscribe to DNS configuration."
|
||||
msgstr "DNS 구성으로 등록하려면 인증이 필요합니다."
|
||||
msgstr "질의 결과를 승락하려면 인증이 필요합니다."
|
||||
|
||||
#: src/resolve/org.freedesktop.resolve1.policy:165
|
||||
msgid "Dump cache"
|
||||
@ -1207,10 +1216,14 @@ msgid ""
|
||||
msgstr "'$(unit)'의 처리에 유닉스 신호를 전송하려면 인증이 필요합니다."
|
||||
|
||||
#: src/core/dbus-unit.c:620
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Authentication is required to send a UNIX signal to the processes of "
|
||||
#| "'$(unit)'."
|
||||
msgid ""
|
||||
"Authentication is required to send a UNIX signal to the processes of "
|
||||
"subgroup of '$(unit)'."
|
||||
msgstr "'$(unit)'의 하위그룹 처리로 유닉스 신호를 전송하려면 인증이 필요합니다."
|
||||
msgstr "'$(unit)'의 처리에 유닉스 신호를 전송하려면 인증이 필요합니다."
|
||||
|
||||
#: src/core/dbus-unit.c:648
|
||||
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
|
||||
|
@ -6,12 +6,8 @@
|
||||
|
||||
/* The following macros add 1 when converting things, since 0 is a valid mode, while the pointer
|
||||
* NULL is special */
|
||||
static inline mode_t PTR_TO_MODE(void *p) {
|
||||
return p ? (mode_t) ((uintptr_t) p - 1) : MODE_INVALID;
|
||||
}
|
||||
static inline void* MODE_TO_PTR(mode_t m) {
|
||||
return m == MODE_INVALID ? NULL : (void *) ((uintptr_t) m + 1);
|
||||
}
|
||||
#define PTR_TO_MODE(p) ((mode_t) ((uintptr_t) (p)-1))
|
||||
#define MODE_TO_PTR(u) ((void *) ((uintptr_t) (u)+1))
|
||||
|
||||
int rmdir_parents(const char *path, const char *stop);
|
||||
|
||||
|
@ -61,7 +61,7 @@ int ordered_set_put_strdup_full(OrderedSet **s, const struct hash_ops *hash_ops,
|
||||
}
|
||||
|
||||
int ordered_set_put_strdupv_full(OrderedSet **s, const struct hash_ops *hash_ops, char **l) {
|
||||
int r, ret = 0;
|
||||
int n = 0, r;
|
||||
|
||||
assert(s);
|
||||
|
||||
@ -70,14 +70,14 @@ int ordered_set_put_strdupv_full(OrderedSet **s, const struct hash_ops *hash_ops
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
ret = ret || r > 0;
|
||||
n += r;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return n;
|
||||
}
|
||||
|
||||
int ordered_set_put_string_set_full(OrderedSet **s, const struct hash_ops *hash_ops, OrderedSet *l) {
|
||||
int r, ret = 0;
|
||||
int n = 0, r;
|
||||
char *p;
|
||||
|
||||
assert(s);
|
||||
@ -89,10 +89,10 @@ int ordered_set_put_string_set_full(OrderedSet **s, const struct hash_ops *hash_
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
ret = ret || r > 0;
|
||||
n += r;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return n;
|
||||
}
|
||||
|
||||
void ordered_set_print(FILE *f, const char *field, OrderedSet *s) {
|
||||
|
@ -31,12 +31,10 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
DO_NOT_OPTIMIZE(parse_number8(str8, &(uint64_t){ 0 }, size % 2 == 0 ? NULL : &tail8));
|
||||
|
||||
const char16_t *tail16 = NULL;
|
||||
_cleanup_free_ char16_t *str16 = ASSERT_SE_PTR(memdup_str16(data, size));
|
||||
_cleanup_free_ char16_t *str16 = memdup_str16(data, size);
|
||||
DO_NOT_OPTIMIZE(parse_number16(str16, &(uint64_t){ 0 }, size % 2 == 0 ? NULL : &tail16));
|
||||
|
||||
_cleanup_free_ char16_t
|
||||
*pattern = ASSERT_SE_PTR(memdup_str16(data, len)),
|
||||
*haystack = ASSERT_SE_PTR(memdup_str16(data + len, len2));
|
||||
_cleanup_free_ char16_t *pattern = memdup_str16(data, len), *haystack = memdup_str16(data + len, len2);
|
||||
DO_NOT_OPTIMIZE(efi_fnmatch(pattern, haystack));
|
||||
|
||||
return 0;
|
||||
|
@ -2244,11 +2244,8 @@ static int setup_private_users_child(int unshare_ready_fd, const char *uid_map,
|
||||
|
||||
/* Wait until the parent unshared the user namespace */
|
||||
uint64_t c;
|
||||
ssize_t n = read(unshare_ready_fd, &c, sizeof(c));
|
||||
if (n < 0)
|
||||
if (read(unshare_ready_fd, &c, sizeof(c)) < 0)
|
||||
return log_debug_errno(errno, "Failed to read from signaling eventfd: %m");
|
||||
if (n != sizeof(c))
|
||||
return log_debug_errno(SYNTHETIC_ERRNO(EIO), "Short read from signaling eventfd.");
|
||||
|
||||
/* Disable the setgroups() system call in the child user namespace, for good, unless PrivateUsers=full
|
||||
* and using the system service manager. */
|
||||
|
@ -286,8 +286,6 @@ static int enumerate_dir_d(
|
||||
log_debug("Adding to drops: %s %s %s %s %s/%s",
|
||||
unit, glyph(GLYPH_ARROW_RIGHT), *file, glyph(GLYPH_ARROW_RIGHT), path, *file);
|
||||
r = path_put(&h, path, *file, /* override = */ false);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -198,7 +198,7 @@ int dns_add_new_service(DnsServiceBrowser *sb, DnsResourceRecord *rr, int owner_
|
||||
/* If next_time is still in the past, the service is being added
|
||||
* after it has already expired. Just schedule a 100%
|
||||
* maintenance query. */
|
||||
next_time = usec_add(usec, USEC_PER_SEC);
|
||||
next_time = usec + USEC_PER_SEC;
|
||||
s->rr_ttl_state = DNS_RECORD_TTL_STATE_100_PERCENT;
|
||||
}
|
||||
|
||||
|
@ -133,10 +133,8 @@ int cpu_set_realloc(CPUSet *c, size_t n) {
|
||||
return -ERANGE;
|
||||
|
||||
n = CPU_ALLOC_SIZE(n);
|
||||
if (n <= c->allocated) {
|
||||
assert(c->set || n == 0);
|
||||
if (n <= c->allocated)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!GREEDY_REALLOC0(c->set, DIV_ROUND_UP(n, sizeof(cpu_set_t))))
|
||||
return -ENOMEM;
|
||||
@ -179,7 +177,7 @@ int cpu_set_add_set(CPUSet *c, const CPUSet *src) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int cpu_set_add_range(CPUSet *c, size_t start, size_t end) {
|
||||
static int cpu_set_add_range(CPUSet *c, size_t start, size_t end) {
|
||||
int r;
|
||||
|
||||
assert(c);
|
||||
@ -224,7 +222,7 @@ int config_parse_cpu_set(
|
||||
void *userdata) {
|
||||
|
||||
CPUSet *c = ASSERT_PTR(data);
|
||||
int r, level = ltype ? LOG_DEBUG : LOG_ERR;
|
||||
int r, level = ltype ? LOG_DEBUG : LOG_DEBUG;
|
||||
bool critical = ltype;
|
||||
|
||||
assert(critical || lvalue);
|
||||
|
@ -24,7 +24,6 @@ void cpu_set_done(CPUSet *c);
|
||||
int cpu_set_realloc(CPUSet *c, size_t n);
|
||||
int cpu_set_add(CPUSet *c, size_t i);
|
||||
int cpu_set_add_set(CPUSet *c, const CPUSet *src);
|
||||
int cpu_set_add_range(CPUSet *c, size_t start, size_t end);
|
||||
int cpu_set_add_all(CPUSet *c);
|
||||
|
||||
char* cpu_set_to_string(const CPUSet *c);
|
||||
|
@ -3350,7 +3350,8 @@ static int read_presets(RuntimeScope scope, const char *root_dir, UnitFilePreset
|
||||
if (strchr(COMMENTS, line[0]))
|
||||
continue;
|
||||
|
||||
if ((parameter = first_word(line, "enable"))) {
|
||||
parameter = first_word(line, "enable");
|
||||
if (parameter) {
|
||||
char *unit_name;
|
||||
char **instances = NULL;
|
||||
|
||||
@ -3366,8 +3367,10 @@ static int read_presets(RuntimeScope scope, const char *root_dir, UnitFilePreset
|
||||
.action = PRESET_ENABLE,
|
||||
.instances = instances,
|
||||
};
|
||||
}
|
||||
|
||||
} else if ((parameter = first_word(line, "disable"))) {
|
||||
parameter = first_word(line, "disable");
|
||||
if (parameter) {
|
||||
char *pattern;
|
||||
|
||||
pattern = strdup(parameter);
|
||||
@ -3378,8 +3381,10 @@ static int read_presets(RuntimeScope scope, const char *root_dir, UnitFilePreset
|
||||
.pattern = pattern,
|
||||
.action = PRESET_DISABLE,
|
||||
};
|
||||
}
|
||||
|
||||
} else if ((parameter = first_word(line, "ignore"))) {
|
||||
parameter = first_word(line, "ignore");
|
||||
if (parameter) {
|
||||
char *pattern;
|
||||
|
||||
pattern = strdup(parameter);
|
||||
@ -3392,7 +3397,7 @@ static int read_presets(RuntimeScope scope, const char *root_dir, UnitFilePreset
|
||||
};
|
||||
}
|
||||
|
||||
if (rule.action != 0) {
|
||||
if (rule.action) {
|
||||
if (!GREEDY_REALLOC(ps.rules, ps.n_rules + 1))
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -262,25 +262,4 @@ TEST(print_cpu_alloc_size) {
|
||||
log_info("CPU_ALLOC_SIZE(8191) = %zu", CPU_ALLOC_SIZE(8191));
|
||||
}
|
||||
|
||||
TEST(cpu_set_add) {
|
||||
_cleanup_(cpu_set_done) CPUSet c = {};
|
||||
|
||||
for (size_t i = 0; i < 8192; i++)
|
||||
ASSERT_OK(cpu_set_add(&c, 8191));
|
||||
|
||||
ASSERT_ERROR(cpu_set_add(&c, 8192), ERANGE);
|
||||
ASSERT_ERROR(cpu_set_add(&c, SIZE_MAX), ERANGE);
|
||||
}
|
||||
|
||||
TEST(cpu_set_add_range) {
|
||||
_cleanup_(cpu_set_done) CPUSet c = {};
|
||||
|
||||
ASSERT_ERROR(cpu_set_add_range(&c, 0, 8192), ERANGE);
|
||||
ASSERT_ERROR(cpu_set_add_range(&c, 0, SIZE_MAX), ERANGE);
|
||||
ASSERT_SIGNAL(cpu_set_add_range(&c, 100, 0), SIGABRT);
|
||||
|
||||
ASSERT_OK(cpu_set_add_range(&c, 0, 0));
|
||||
ASSERT_OK(cpu_set_add_range(&c, 0, 8191));
|
||||
}
|
||||
|
||||
DEFINE_TEST_MAIN(LOG_DEBUG);
|
||||
|
@ -90,19 +90,18 @@ TEST(set_put_string_set) {
|
||||
_cleanup_ordered_set_free_ OrderedSet *m = NULL, *q = NULL;
|
||||
_cleanup_free_ char **final = NULL; /* "just free" because the strings are in the set */
|
||||
|
||||
ASSERT_OK_POSITIVE(ordered_set_put_strdup(&m, "1"));
|
||||
ASSERT_OK_POSITIVE(ordered_set_put_strdup(&m, "22"));
|
||||
ASSERT_OK_POSITIVE(ordered_set_put_strdup(&m, "333"));
|
||||
assert_se(ordered_set_put_strdup(&m, "1") == 1);
|
||||
assert_se(ordered_set_put_strdup(&m, "22") == 1);
|
||||
assert_se(ordered_set_put_strdup(&m, "333") == 1);
|
||||
|
||||
ASSERT_OK_POSITIVE(ordered_set_put_strdup(&q, "11"));
|
||||
ASSERT_OK_POSITIVE(ordered_set_put_strdup(&q, "22"));
|
||||
ASSERT_OK_POSITIVE(ordered_set_put_strdup(&q, "33"));
|
||||
assert_se(ordered_set_put_strdup(&q, "11") == 1);
|
||||
assert_se(ordered_set_put_strdup(&q, "22") == 1);
|
||||
assert_se(ordered_set_put_strdup(&q, "33") == 1);
|
||||
|
||||
ASSERT_OK_POSITIVE(ordered_set_put_string_set(&m, q));
|
||||
ASSERT_OK_ZERO(ordered_set_put_string_set(&m, q));
|
||||
assert_se(ordered_set_put_string_set(&m, q) == 2);
|
||||
|
||||
ASSERT_NOT_NULL(final = ordered_set_get_strv(m));
|
||||
ASSERT_TRUE(strv_equal(final, STRV_MAKE("1", "22", "333", "11", "33")));
|
||||
assert_se(final = ordered_set_get_strv(m));
|
||||
assert_se(strv_equal(final, STRV_MAKE("1", "22", "333", "11", "33")));
|
||||
|
||||
ordered_set_print(stdout, "BAR=", m);
|
||||
}
|
||||
|
@ -1165,11 +1165,8 @@ uuid="deadbeef-dead-dead-beef-111111111111", name="mdpart1", size=8M
|
||||
uuid="deadbeef-dead-dead-beef-222222222222", name="mdpart2", size=32M
|
||||
uuid="deadbeef-dead-dead-beef-333333333333", name="mdpart3", size=16M
|
||||
EOF
|
||||
udevadm wait --settle --timeout=30 "$raid_dev" "${raid_dev}1" "${raid_dev}2" "${raid_dev}3"
|
||||
# FIXME: For some reasons, the command sometimes stuck and the test will timeout.
|
||||
# Let's enable debug logging and set a timeout to make not consume CI resource.
|
||||
# UPDATE: The above 'udevadm wait' command should fix the issue.
|
||||
# But, let's keep the debug option for a while.
|
||||
SYSTEMD_LOG_LEVEL=debug timeout 30 udevadm trigger --settle --parent-match "$raid_dev"
|
||||
udevadm wait --settle --timeout=30 "/dev/disk/by-id/md-uuid-$uuid-part2"
|
||||
mkfs.ext4 -L "$part_name" "/dev/disk/by-id/md-uuid-$uuid-part2"
|
||||
|
Loading…
x
Reference in New Issue
Block a user